____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Apache Felix
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Apache Felix ist ein Open-Source-Framework für die Referenz-Implementierung der OSGi-Spezifikation. Die Codebasis wurde von OW2 aus dem Oscar-Projekt gespendet.cite-ref-0-3-0[3]
Contents
• Weblinks
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Geschichte
Im Juli 2005 wurde der Wunsch geäußert, dass auf der Codebasis von Oscar ein neues Apache-Projekt gestartet werden soll. Der Code wurde von Richard Hall gespendet.cite-ref-0-3-1[3] Oscar wurde 2004 zum ersten Mal veröffentlicht und war mit der OSGi-Spezifikation Version 3 kompatibel.cite-ref-4[4] Am 16. Juli 2007 wurde Version 1.0 veröffentlicht und das Projekt verließ die Inkubationsphase bei Apache.cite-ref-5[5]
Unterprojekt von Apache Felix
Felix ist in Projekte unterteilt, welche auf die einzelnen Aspekte der OSGi-Spezifikation eingehen:cite-ref-1-6-0[6]
• Config Admin - Eine Implementierung der OSGi Configuration Admin-Dienstspezifikation zum Verwalten der Eigenschaften der Bundle-Konfiguration
• Dependency Manager - Ein API-basiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung
• Event Admin - Eine Implementierung der OSGi Event Admin-Dienstspezifikation für die ereignisbasierte Kommunikation
• File Install - Ein einfacher, verzeichnisbasierter Verwaltungsagent zum Verwalten der Bundle-Bereitstellung
• Framework - Eine Implementierung des OSGi R6-Kernframeworks
• Gogo - Eine erweiterte Shell für die Interaktion mit OSGi-Frameworks
• Health Checks - Ein erweiterbares Framework zur Überwachung des Status des OSGi-Containers zur Laufzeit
• HTTP-Dienst - Eine Implementierung der OSGi-Spezifikation für HTTP-Whiteboards und HTTP-Dienste
• Inventory Printer - Ein einfaches und erweiterbares Framework zum Abrufen von Inventardaten zu Anwendungen, die in einem OSGi-Framework ausgeführt werden
• iPOJO - Ein ausgeklügeltes serviceorientiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung
• Protokoll - Eine einfache, speicherbasierte Implementierung der OSGi-Protokolldienstspezifikation
• Felix Logback - Apache Felix Logback ist eine kleine Integration des Logback-Backends mit OSGi
• Maven Bundle Plugin - Ein Maven-Plugin zur Vereinfachung der Erstellung von Bundles
• Maven SCR-Plugin - Ein Maven-Plugin zur Vereinfachung der Verwendung deklarativer Dienste
• Metatype - Eine Implementierung des OSGi-Metatype-Dienstes zur Beschreibung von Typen, die von Bundles benötigt werden
• OSGi-Bundle-Repository - Ein Bundle-Repository-Service, der das Erkennen und Bereitstellen von Bundles und deren Abhängigkeiten vereinfacht
• Preferences - Eine Implementierung der OSGi-Voreinstellungsdienstspezifikation zum Speichern von Einstellungen und Voreinstellungen
• Remote Shell - Eine textbasierte Remote-Schnittstelle zur Apache Felix Shell
• Service Component Runtime - Eine Implementierung der OSGi Declarative Services-Spezifikation, die ein serviceorientiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung bereitstellt
• Shell - Ein sehr einfacher Shell-Service, der als Bundle für die Interaktion mit einer OSGi-Framework-Instanz implementiert ist
• Shell TUI - Eine einfache, textbasierte Schnittstelle zur Apache Felix Shell
• UPnP - Eine Implementierung der OSGi UPnP-Gerätedienstspezifikation für die UPnP-Geräteintegration
• Webkonsole - Ein einfaches Tool zum Überprüfen und Verwalten von OSGi-Framework-Instanzen mit ihrem bevorzugten Webbrowser.
Einsatzbereich
OSGi war ursprünglich für embedded Geräte bzw. IoT geplant.cite-ref-1-6-1[6] Aber die Modularisierung von Javacite-ref-7[7] und deren Umsetzung bzw. Spezifikation mit OSGi hat den Einsatzbereich erweitert, da so die Software-Entwicklung mehr Funktionalität in die Java-/Webanwendung bringen konnte.cite-ref-8[8] Um Abhängigkeiten über JAR-Archive und Modularität zu erhalten bzw. aufzulösen kann Felix in IDEs eingebunden werden.cite-ref-9[9]
Projekte, die Apache Felix einsetzen:cite-ref-10[10]
• Apache Karaf
• Apache Sling
• Ascert VersaTest
• DySoWeb
• OW2 JOnAS
• iDempiere hat es eingesetzt, ist aber gewechselt zu Eclipse Equinoxcite-ref-11[11]
java -jar bin/felix.jar
Literatur
• Richard S. Hall, Karl Pauls, Stuart McCulloch, David Savage: OSGi in Action - Creating Modular Applications in Java. Manning Publications Co., 2011, ISBN 978-1-933988-91-7, S. 576.
• Alexandre de Castro Alves: OSGi in Depth. Manning Publications, 2011, ISBN 978-1-935182-17-7, S. 392.
• Holly Cummins, Timothy Ward: Enterprise OSGi In Action. Manning Publications Co., 2013, ISBN 978-1-61729-013-8, S. 400.
Weblinks
• Felix Committee auf der Apache Webseite
• Git Repository
• Apache Felix auf Open Hub
Einzelnachweise
cite-note-9788b0933627bf1a-11. projects.apache.org. (abgerufen am 8. April 2020).
cite-note-9ba43f39d232a8ad-22. (abgerufen am 10. September 2023).
cite-note-0-33. ↑ [proposal] Oscar OSGi Project. Abgerufen am 1. Januar 2020.
cite-note-44. ↑ Oscar - An OSGi framework implementation. Abgerufen am 1. Januar 2020.
cite-note-55. ↑ Added some documentation and the change logs to framework and main su… · apache/felix@2cd5bed. Abgerufen am 1. Januar 2020 (englisch).
cite-note-1-66. ↑ Apache Felix - Welcome to Apache Felix. Abgerufen am 1. Januar 2020.
cite-note-77. ↑ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 277. Abgerufen am 2. Januar 2020.
cite-note-88. ↑ Webkomponenten mit OSGi – einfach und elegant. In: JAXenter. 4. August 2015, abgerufen am 1. Januar 2020.
cite-note-99. ↑ OSGi mit Apache Felix und IntelliJ IDEA. Abgerufen am 1. Januar 2020.
cite-note-1010. ↑ Apache Felix - Projects Using Felix. Abgerufen am 1. Januar 2020.
cite-note-1111. ↑ ADempiere/OSGi Integration - ADempiere. Abgerufen am 1. Januar 2020.
cite-note-1212. ↑ OSGI. Ehemals im Original (nicht mehr online verfügbar); abgerufen am 1. Januar 2020.@1@2Vorlage:Toter Link/www.eclipse.org (Seite nicht mehr abrufbar. Suche in Webarchiven)
cite-note-1313. ↑ Apache Felix - Apache Felix Framework Usage Documentation. Abgerufen am 1. Januar 2020.
cite-note-1414. ↑ Apache Felix - Downloads. Abgerufen am 1. Januar 2020.